const mysql = require('mysql')

const db = mysql.createPool({
  host: '127.0.0.1', // 主机
  user: 'root', // MySQL用户名
  password: '123456', // MySQL密码
  database: 'my_db' // 数据库名
})

const user = {
  id: 1,
  username: '张智琦3',
  password: '1234567'
}
const sql = 'update users set username=?, password=? where id=?'
db.query(sql, [user.username, user.password, user.id], (err, results) => {
  if (err) {
    console.log('失败：', err)
  } else {
    console.log(results)
    if (results.affectedRows === 1) {
      console.log('成功')
    } else {
      console.log('失败')
    }
  }
})

// 当对象的属性和表的字段一一对应时，可以通过以下方式修改数据
const user2 = {
  id: 1,
  username: '张智琦5',
  password: '12345'
}
const sql2 = 'update users set ? where id=?'
db.query(sql2, [user2, user2.id], (err, results) => {
  if (err) {
    console.log('失败：', err)
  } else {
    console.log(results)
    if (results.affectedRows === 1) {
      console.log('成功')
    } else {
      console.log('失败')
    }
  }
})